﻿# @Python   ：    3.13
# @FileName ：    rundemo2.py
# @time     ：    2024/11/6 21:50
# @Author   :     Cooper

import sys
import maindemo as u1
import second as u2
from PyQt5 import QtGui, QtWidgets


class QMainWindow(QtWidgets.QMainWindow):
    """对QMainWindow类重写，实现一些功能"""

    def closeEvent(self, event):
        """重写closeEvent方法，实现dialog窗体关闭时执行一些代码

        :param event: close()触发的事件
        :return: None
        """
        if win2.isVisible() & win.isVisible():  # 双界面同时显示时就是一个界面登录到另外一个界面，不用弹出退出确认
            pass
        else:
            reply = QtWidgets.QMessageBox.question(self,
                                                   '本程序',
                                                   "是否要退出程序？",
                                                   QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No,
                                                   QtWidgets.QMessageBox.No)
            if reply == QtWidgets.QMessageBox.Yes:
                event.accept()
            else:
                event.ignore()


# 这里继承了修改后的QMainWindow所以能执行退出确认
class SecondWindow(QMainWindow):
    def __init__(self):
        # super(SecondWindow, self).__init__()
        super().__init__()
        self.ui = u2.Ui_Form()
        self.ui.setupUi(self)

    def slot2(self):
        win.show()
        win2.close()


# 这里继承了修改后的QMainWindow所以能执行退出确认
class MainWindow(QMainWindow):
    def __init__(self, parent=None):
        # super(MainWindow, self).__init__(parent)  # 使用父类的初始化方法来初始化子类，也就是说，子类继承了父类的所有属性和方法。父类属性自然会用父类方法来进行初始化。
        '''
        super()用来调用父类(基类)的方法，__init__()是类的构造方法，
        super().__init__() 就是调用父类的__init__()方法， 同样可以使用super()去调用父类的其他方法。
        '''
        super().__init__()
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap('apple.ico'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        MainWindow.setWindowIcon(self, icon)
        self.ui = u1.Ui_Form()
        self.ui.setupUi(self)

    def slot1(self):
        print('进入函数')
        if self.ui.lineEdit.text() == "mingri":
            print('账号存在')
            if self.ui.lineEdit_2.text() == '123456':
                print('密码正确')
                if self.ui.radioButton.isChecked():
                    win2.show()
                    win.close()
                else:
                    # self.ui.lineEdit.clear()
                    self.ui.lineEdit_2.clear()
                    win2.show()
                    win.close()
            else:
                from PyQt5.QtWidgets import QMessageBox
                # 使用information（)方法弹出消息提示框
                QMessageBox.information(QtWidgets.QMainWindow(), '登录消息', '密码错误 请重新输入', QMessageBox.Ok)
                # self.ui.lineEdit_2.setText('密码错误请重新输入')
        else:
            print('进入else')
            self.ui.lineEdit.setText('账号错误请重新输入')


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)  # 实例化QApplication类，作为GUI主程序入口
    win = MainWindow()
    win.show()
    win2 = SecondWindow()
    sys.exit(app.exec_())
